//
// core - server core source code.
//
// $Rev$
// $Author$
// $Date$
//
// Define class Signaller.
//

#ifndef __SIGNALLER__H
#define __SIGNALLER__H

#include "core/callbacks.h"

namespace core {

class Signaller {
 public:
  explicit Signaller(const SignalCallback &callback) : number_(0), callback_(callback) {}
  ~Signaller() {}

  inline void Run() {
    this->callback_();
  }

  inline int GetNumber() const { return this->number_; }

 private:
  int number_;
  SignalCallback callback_;
};

}  // namespace core

#endif  // __SIGNALLER__H

